The present invention relates generally to the field of software development, and more particularly to testing software for use with different operating platforms.
During software development, it is conventional to execute a predefined set of test cases (see definition, below, in the Definitions sub-section of the Detailed Description section of this document) in various test phases. A typical software development process involves test phases including: (i) build verification test; (ii) acceptance test; (iii) smoke test; (iv) sanity test; and (v) regression test.
Generally speaking, each test case covers a different test case configuration (herein simply called “configuration”), with the configuration including the following attributes: (i) software product (for example, product version including patch and build numbers); (ii) test phase and/or (iii) platform (see definition, below, in Definitions sub-section of the Detailed Description section). Once test cases are chosen, based on the configurations to be tested, machines (for example, real and/or virtual computers) must be provisioned and configured in order to run the test cases. The test cases are run in series (that is, sequential order, not overlapping in time) in conventional test case run environments.